package lesson3;

public class Demo1 {
    public static void main(String[] args) {
        //在java中可以直接表示二进制 八进制 十进制(默认) 十六进制
        int num1 = 100;
        //二进制数字以0b开始表示二进制数字
        int num2 = 0b1011;
        System.out.println(num2);
        //二进制转十进制  每一位的数字*2的(n-1)次方一直相加
        int num3 = 0b1011011;
        //1+2+0+8+16+0+64
        System.out.println(num3);


        //0开始代表8进制
        int num4 = 01234;
        //4+24+128+512 = 668
        System.out.println(num4);

        //0x开始代表16进制
        //10--a    11--b  12--c  13--d  14--e  15--f
        int num5 = 0x1abcdef;
        //15*16^0+14*16^1+13*16^2+12*16^3+11*16^4+10*16^5+1*16^6;
        System.out.println(num5);

        //十进制向二进制转换
        //10---2   1010
        System.out.println(0b1010);

        //十进制向8进制转换
        //100----8
        System.out.println(0144);

        //10进制转16进制
        //100---16
        System.out.println(0x64);
        //123---16
        System.out.println(0x7b);



        //二进制转8进制
        //0b 001 011 011
        //    1  3  3
        System.out.println(0133 == 0b1011011);
        System.out.println(0133);
        System.out.println(0b1011011);

        //二进制转16进制
        //0b 0101 1011
        //0x  5     b
        System.out.println(0x5b);


        //八进制转二进制
        //0   1  2    3   7;
        //0b 001 010 011 111

        //十六进制转二进制
        //0x  a    b    c    d    e     f
        //0b 1010 1011 1100 1101 1110  1111
    }
}
